import Request from '@/utils/luch-request/index.js'
const getTokenStorage = () => {
	let token = ''
	try {
		token = uni.getStorageSync('uni_id_token')
	} catch (e) {}
	return token
}

const http = new Request()
http.setConfig((config) => {
	/* 设置全局配置 */
	config.baseURL = 'http://192.168.0.123:8077' /* 根域名不同 */
	config.header = {
		...config.header,
	}
	return config
})

http.interceptors.request.use((config) => {
	/* 请求之前拦截器。可以使用async await 做异步操作 */
	config.header = {
		...config.header,
		token: getTokenStorage()
	}
	uni.showLoading({
		mask: true
	})
	return config
}, (config) => {
	uni.hideLoading()
	return Promise.reject(config)
})

http.interceptors.response.use((response) => {
	console.log("成功请求>>>" + response)
	// 服务端返回的状态码不等于200，则reject()
	// if (response.data.code !== 200) {
	// 	uni.hideLoading()
	// 	uni.showToast({
	// 		title: response.data.msg,
	// 		icon: 'none'
	// 	})
	// 	// 如果需要catch返回，则进行reject
	// 	if (custom?.catch) {
	// 		return Promise.reject(response.data)
	// 	} else {
	// 		// 返回pending中的promise

	// 		return new Promise(() => {})
	// 	}
	// }
	uni.hideLoading()
	if (response.data.code == 10005) {
		uni.removeStorage({
			key: 'uni_id_token',
			success: function(res) {

			}
		});
		uni.removeStorage({
			key: 'uid',
			success: function(res) {
				uni.navigateTo({
					url: '/pages/login/login',
				});
			}
		});
		return;
	}
	return response.data || {}
}, (response) => { // 请求错误做点什么。可以使用async await 做异步操作
	uni.hideLoading()
	console.log("失败请求>>>" + response)
	return Promise.reject(response)
})

export {
	http
}